import request from '@/utils/request';
import type { RoleListReq, RoleListRow, DeleteRoleReq, UpdateRoleStatusReq } from './model';

export * from './model.d';
/** 获取角色列表--分页 */
export function getRoleList(data: RoleListReq & TablePageReq) {
	return request<PageResult<RoleListRow>>({
		url: '/role/getRoleMByPage',
		method: 'post',
		data,
	});
}

/** 添加角色
 * @param name  角色名称
 * @param status 角色状态
 * @param authIds 权限id
 * @param description 描述
 * @param roleType 角色类型
 */
export function addRole(data: RoleListRow) {
	return request({
		url: '/role/insertRole',
		method: 'post',
		data,
	});
}

/** 删除角色
 * @param id
 * @param name 角色名称
 */
export function deleteRole(data: DeleteRoleReq) {
	return request({
		url: '/role/deleteRoleById',
		method: 'delete',
		data,
	});
}

/** 修改角色
 * @param id
 * @param name  角色名称
 * @param status 角色状态
 * @param authIds 权限id
 * @param description 描述
 * @param roleType 角色类型
 */
export function updateRole(data: RoleListRow) {
	return request({
		url: '/role/updateRoleMById',
		method: 'post',
		data,
	});
}

/** 修改角色状态
 * @param id
 * @param status	要改成的状态
 */
export function updateRoleStatus(data: UpdateRoleStatusReq) {
	return request({
		url: '/role/updateRoleMStatus',
		method: 'post',
		data,
	});
}

/** 获取当前用户已有的 角色列表
 * @return
 * @param name  角色名称
 * @param status 角色状态
 * @param authIds 权限id
 * @param description 描述
 * @param roleType 角色类型
 */
export function getCurrentRoleList() {
	return request<RoleListRow[]>({
		url: '/role/getRolesByUserId',
		method: 'get',
	});
}
